home *** CD-ROM | disk | FTP | other *** search
- /* Menu.c This handles Menu command dispatching */
-
- #include "Event.h"
- #include "Menu.h"
- #include "NotificationMon.h"
-
- int MenuNum,MenuItemNum;
- Boolean MenuSelected = false;
-
- BuildMenuBars(void)
- {
- Handle mbar;
-
- mbar=GetNewMBar(128);
- if(mbar)
- {
- SetMenuBar(mbar);
- AddResMenu(GetMHandle(APPLE_MENU),'DRVR');
- DrawMenuBar();
- }
- else
- {
- DebugStr("\pMenubar resouce not loaded. Aborting!");
- ExitToShell();
- }
- }
-
- MenuDispatch(int menuNumber,int itemNumber)
- {
- if(menuNumber != 0)
- {
- MenuNum = menuNumber;
- MenuItemNum = itemNumber;
- MenuSelected = true;
- switch(menuNumber)
- {
- case APPLE_MENU : ChooseApple(itemNumber);
- break;
- case FILE_MENU : ChooseFile(itemNumber);
- break;
- case EDIT_MENU : ChooseEdit(itemNumber);
- break;
- default : break;
- }
- }
- }
-
- ChooseApple(int itemNumber)
- {
- if(itemNumber == 1)
- {
- AboutBox();
- }
- else
- {
- RunDeskAccesory(itemNumber);
- }
- }
-
- RunDeskAccesory(int item)
- {
- GrafPtr savePort;
- int daRefNum;
- Str255 daName;
-
- GetPort(&savePort);
- GetItem(GetMHandle(APPLE_MENU), item, &daName);
- daRefNum = OpenDeskAcc(&daName);
- SetPort(savePort);
- }
-
- ChooseFile(int item)
- {
- switch(item)
- {
- case FILE_RESET : DoNotificationReset();
- break;
- case FILE_PREFS : DoNotificationPrefsDialog(MainView);
- break;
- case FILE_QUIT : Done = true;
- break;
- default: break;
- }
- }
-
-
- /*
- Does not support edit menu. Assumes that if the edit menu is enabled
- that it is for desk accessories. (pre MF or system 7, or MF with optionkey)
- */
- ChooseEdit(int item)
- {
- SystemEdit(item-1);
- }
-